home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / BALANC.DEM < prev    next >
Text File  |  1991-04-29  |  2KB  |  62 lines

  1. PROGRAM d11r5(input,output);
  2. (* driver for routine BALANC *)
  3. CONST
  4.    np=5;
  5. TYPE
  6.    glnp = ARRAY [1..np] OF real;
  7.    glnpnp = ARRAY [1..np,1..np] OF real;
  8. VAR
  9.    i,j : integer;
  10.    a : glnpnp;
  11.    c,r : glnp;
  12.  
  13. (*$I MODFILE.PAS *)
  14. (*$I BALANC.PAS *)
  15.  
  16. BEGIN
  17.    a[1,1] := 1.0; a[1,2] := 100.0; a[1,3] := 1.0;
  18.    a[1,4] := 100.0; a[1,5] := 1.0;
  19.    a[2,1] := 1.0; a[2,2] := 1.0; a[2,3] := 1.0;
  20.    a[2,4] := 1.0; a[2,5] := 1.0;
  21.    a[3,1] := 1.0; a[3,2] := 100.0; a[3,3] := 1.0;
  22.    a[3,4] := 100.0; a[3,5] := 1.0;
  23.    a[4,1] := 1.0; a[4,2] := 1.0; a[4,3] := 1.0;
  24.    a[4,4] := 1.0; a[4,5] := 1.0;
  25.    a[5,1] := 1.0; a[5,2] := 100.0; a[5,3] := 1.0;
  26.    a[5,4] := 100.0; a[5,5] := 1.0;
  27. (* write norms *)
  28.    FOR i := 1 to np DO BEGIN
  29.       r[i] := 0.0;
  30.       c[i] := 0.0;
  31.       FOR j := 1 to np DO BEGIN
  32.          r[i] := r[i]+abs(a[i,j]);
  33.          c[i] := c[i]+abs(a[j,i])
  34.       END
  35.    END;
  36.    writeln('rows:');
  37.    FOR i := 1 to np DO write(r[i]:12:2);
  38.    writeln;
  39.    writeln('columns:');
  40.    FOR i := 1 to np DO write(c[i]:12:2);
  41.    writeln;
  42.    writeln;
  43.    writeln('***** balancing matrix *****');
  44.    writeln;
  45.    balanc(a,np);
  46. (* write norms *)
  47.    FOR i := 1 to np DO BEGIN
  48.       r[i] := 0.0;
  49.       c[i] := 0.0;
  50.       FOR j := 1 to np DO BEGIN
  51.          r[i] := r[i]+abs(a[i,j]);
  52.          c[i] := c[i]+abs(a[j,i])
  53.       END
  54.    END;
  55.    writeln('rows:');
  56.    FOR i := 1 to np DO write(r[i]:12:2);
  57.    writeln;
  58.    writeln('columns:');
  59.    FOR i := 1 to np DO write(c[i]:12:2);
  60.    writeln
  61. END.
  62.